In a packet data communications system data messages are communicated or transmitted between, usually a small number of fixed sites or base stations included as part of a fixed network and, typically, a much larger number of portable or mobile user terminals located at various and changing geographic locations. Data communications in total occurs on one or a small number of radio frequency channels that collectively provide service to all terminals. Any particular base station transmitter operates on one radio frequency channel characterized by a band of radio frequencies. Usually a base station transmitter may rely on all portable or mobile terminals operating on that channel to be in an active state awaiting the delivery of a data message. However at any particular point in time the transmitter is limited to transmitting one data message to, ordinarily, one data terminal.
Given this property, communications systems and packet data communications systems in particular have chosen to organize available time on a channel into a plurality of time slots where a finite consecutive sequence of time slots is collectively referred to as a frame and frames follow each other in continuous succession. Data messages are delivered in data packets and one or more data packets may be included in each time slot or a data packet may overlap a time slot boundary. Given this organization of the available time on the channel and one or another known mechanism or protocol for maintaining time slot synchronization between the terminals and the base stations, terminals may be assigned either an active or inactive status for each time slot. The base station transmitters, specifically the communications system, only attempts to deliver or transmit messages to a particular terminal during an active time slot for that terminal. Terminals may then rely on these circumstances to, for example, advantageously conserve power or battery life by entering a power conservation mode during inactive time slots.
Paging communications systems have utilized various such time slot schemes to facilitate power conservation. One approach includes assigning each paging terminal a predefined time slot identity or pattern, such as active every fourth or eighth slot, that is invariant for the life of that pager or at least that paging identifier number (ID). Another approach used in paging and some prior art packet data systems includes providing within the header of some data communications packets a list of those terminal IDs corresponding to the terminals that the system expects to deliver data packets to during a particular time slot. Some systems have contemplated the use of a hybrid or combined version of the above two approaches.
Both approaches may provide potential power savings however either approach suffers from a form of inflexibility, when viewed from the perspective of the terminal. To appreciate this some further observations need to be explained. Any time slot approach will usually increase a system parameter referred to as average message delivery latency. Average message delivery latency is a measurement of the time delay incurred in delivery of the message from a source to the intended terminal and this parameter together with potential power savings increases in proportion to the percentage of the time that the terminal is inactive. In short increased power savings or battery life is obtained at the cost of increased message latency, at least up to a point determined by the average frequency of message activity for a particular terminal.
In any event in a time slot approach that assigns an invariant activity pattern to a terminal, regardless of the likely activity of that terminal, an opportunity for power savings may be lost or alternatively an undue average message delivery latency may be experienced. Similarly in the time slot allocation approaches that provide a list of IDs, all terminals must be active during each time period when IDs are communicated regardless of the likelihood that there ID may be listed. This again may represent a lost opportunity to save power. A need exists for a method of dynamically allocating time slots on a packet data communications channel.
In a packet data communications system including a fixed network and user terminals, the system using a channel organized into time slots for scheduling data communications between the network and the user terminals, a method of dynamically allocating active time slots for a terminal includes communicating, from the user terminal, information representative of an active time slot pattern for the user terminal to the network and entering, at the user terminal, an active mode during each active time slot of the active time slot pattern.
Alternatively in a similar setting a method of dynamically scheduling message delivery to a user terminal includes receiving information representative of an active time slot pattern from the user terminal, queuing a message intended for delivery to the user terminal, determining, dependent on the information, the active time slot pattern for the user terminal, and delivering the message to the user terminal during an active time slot of the active time slot pattern.